// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: //-+--Texture 3D
thread 'AIM9'

0adf: "THEALTH" "CHEALTH ~W~~1~"
0adf: "WEAPONS" "WEAPONS ~W~~1~"
0adf: "Samh" "Fake Samp User ~N~Fund: ~s~~1~"
 
27@ = 8.0
24@ = 8.0
21@ = 4.0

VAR
   29@:INT
   30@:INT
   26@:INT
   26@:INT
   31@:int
   12@:int
   15@:int
END

15@ = 0

WHILE TRUE
    WAIT 0
    Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
    if 0AE1: 31@ = random_actor_near_point 1@ 2@ 3@ in_radius 50.0 find_next 1 pass_deads 0 //IF and SET                                                                  
    jf continue     
    if and                                                                        
        056D:   actor 31@ defined                                                 
        803B:   not  31@ == $PLAYER_ACTOR // (int)                                
    jf continue
    0342: set_text_draw_centered 1 
    0340: set_text_draw_RGBA 206 207 0 255 
    033F: set_text_draw_letter_size 0.2 0.7 
    081C: draw_text_outline 1 RGBA 0 0 0 180 
    045A: draw_text_1number 29.0 40.0 GXT "Samh" number 15@
    04DD: 26@ = actor 31@ armour 
    if and
        26@ <=  0
        not  15@ >= 60
    then Actor.AddArmour(31@, 1)
        for 12@ = 0  to 60 step 1                                                                                  
            0085: 16@ = 12@                                                                                
            16@ *= 4                                                                                         
            0AC6: 14@ = label @swith_indexz offset                                                          
            005A: 14@ += 16@                                                                       
            0A8D: 17@ = read_memory 14@ size 4 virtual_protect 0
            IF 17@ == false                                                                                       
            THEN
                0AC6: 14@ = label @swith_indexz offset                                               
                005A: 14@ += 16@                                                                
                0A8C: write_memory 14@ size 4 value TRUE virtual_protect 0                                  
                                                                                                                      
                0AC6: 14@ = label @ACTOR_handlerz offset                                                     
                005A: 14@ += 16@                                                                    
                0A8C: write_memory 14@ size 4 value 31@ virtual_protect 0                         
                15@++                                                                                    
                break                                                                                                 
            end                                                                                                      
        end                                                                                                          
    end                                                                                                              
    FOR 12@ = 0 TO 60 STEP 1
       0085: 16@ = 12@
       16@ *= 4
       0AC6: 14@ = label @swith_indexz offset                               
       005A: 14@ += 16@
       0A8D: 17@ = read_memory 14@ size 4 virtual_protect 0   
       IF 17@ == TRUE
       THEN     
           0AC6: 14@ = label @ACTOR_handlerz offset                             
           005A: 14@ += 16@
           0A8D: 31@ = read_memory 14@ size 4 virtual_protect 0
           IF 31@ > 0
           JF continue
           IF 056D:   actor 31@ defined
           then 04C4: store_coords_to 10@ 20@ 23@ from_actor 31@ with_offset 0.0 0.0 1.4  
               0AB1: call_scm_func @HEALTH_13Att 3 10@ 20@ 23@ 4@ 5@ //call show name 3d func                                     
               0665: get_actor 31@ model_to 22@                                                                       
               IF AND                                                                                                 
                  22@ >= 0                                                                                            
                  288 >= 22@                                                                                          
               THEN                                                                                                   
                   0AD3: 13@v = format "Nor%x"  22@ //(get actor name from gxt < 22@ model id) as 0xi string
                   005B: 5@ += 21@ // (float) 
                   0342: set_text_draw_centered 1 
                   0349: set_text_draw_font 3                                                  
                   060D: draw_text_shadow 0 rgba 255 255 255 150                               
                   033F: set_text_draw_letter_size 0.2 0.7                                     
                   0340: set_text_draw_RGBA 255 165 0 255                                      
                   081C: draw_text_outline 1 RGBA 0 0 0 150                                          
                   033E: draw_text_1number 4@ 5@ GXT  13@v // @s = 'short'                                            
                   03F0: enable_text_draw 0
               end                                                                           
               005B: 5@ += 27@ // (float)                                                                             
               29@ = Actor.Health(31@)                                                                           
               0342: set_text_draw_centered 1                                                                         
               0349: set_text_draw_font 3                                                                             
               060D: draw_text_shadow 0 rgba 255 255 255 150                                                          
               0340: set_text_draw_RGBA 208 16 8 255                                                                  
               033F: set_text_draw_letter_size 0.2 0.7                                                                
               081C: draw_text_outline 1 RGBA 0 0 0 150                                                               
               045A: draw_text_1number 4@ 5@ GXT 'THEALTH' number 29@                                                 
               005B: 5@ += 24@ // (float)                                                           
               0470: 28@ = actor 31@ current_weapon                                                                                    
               0342: set_text_draw_centered 1                                                                         
               0349: set_text_draw_font 3                                                                             
               060D: draw_text_shadow 0 rgba 255 255 255 150                                                          
               0340: set_text_draw_RGBA 0 252 252 255                                                                 
               033F: set_text_draw_letter_size 0.2 0.7                                                                
               081C: draw_text_outline 1 RGBA 0 0 0 150                                                               
               045A: draw_text_1number 4@ 5@ GXT 'WEAPONS' number 28@                                                 
           else
               0AC6: 14@ = label @swith_indexz offset                               
               005A: 14@ += 16@                                                                                                                                                       
               0A8C: write_memory 14@ size 4 value false  virtual_protect 0
               0AC6: 14@ = label @ACTOR_handlerz offset                             
               005A: 14@ += 16@                                                                                                                                                                   
               0A8C: write_memory 14@ size 4 value 0  virtual_protect 0
               if 15@ > 0
               then
                   15@--
               end        
           end
        end
    end
    
    
    0AB4: 0@ < 240
    IF 0@ == TRUE
    THEN 03F0: enable_text_draw 0
        END_THREAD
    END                                                                                                        
END

//array 60 * 4 byte var int bool

:swith_indexz
hex
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
end

//array 60 * 4 byte var 
:ACTOR_handlerz
hex
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
end

//array 60 * 4 byte var 
:temp_handlerz
hex
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
end
             
:HEALTH_13Att
18@ = 1 
0A9F: 19@ = current_thread_pointer 
0AB1: call_scm_func @HEALTH_1DFtt 2 19@ 0 14@  
0AB1: call_scm_func @HEALTH_1DFtt 2 19@ 3 15@  
0AB1: call_scm_func @HEALTH_1DFtt 2 19@ 6 16@  
0AB1: call_scm_func @HEALTH_1DFtt 2 19@ 9 17@  
0AB1: call_scm_func @HEALTH_1DFtt 2 19@ 12 18@  
0AA5: call 7392816 num_params 6 pop 6 18@ 18@ 17@ 16@ 15@ 14@  
0AB1: call_scm_func @HEALTH_24Btt 2 3@ 4@ 3@ 4@  
0AB2: ret 2 3@ 4@ 

:HEALTH_1DFtt
if 
   not 0@ == 0 
jf @HEALTH_23Ctt 
1@ *= 4 
0A8E: 2@ = 0@ + 220 // int 
if 
  2@ == 1 
jf @HEALTH_226tt 
1@ += 10783072 
jump @HEALTH_235tt 

:HEALTH_226tt
005A: 1@ += 0@ // (int) 
1@ += 60 

:HEALTH_235tt
jump @HEALTH_243tt 

:HEALTH_23Ctt
1@ = 0 

:HEALTH_243tt
0AB2: ret 1 1@ 

:HEALTH_24Btt
2@ = 640.0 
0A8D: 4@ = read_memory 12677188 size 4 virtual_protect 0 
0093: 4@ = integer 4@ to_float 
0073: 2@ /= 4@ // (float) 
006B: 0@ *= 2@ // (float) 
3@ = 448.0 
0A8D: 5@ = read_memory 12677192 size 4 virtual_protect 0 
0093: 5@ = integer 5@ to_float 
0073: 3@ /= 5@ // (float) 
006B: 1@ *= 3@ // (float) 
0AB2: ret 2 0@ 1@